package com.tabnet.dao;

import java.util.Map;

import com.tabnet.beans.produit.Accessoire;
import com.tabnet.beans.produit.ProduitCMD;

public interface DAOAccessoireCMD {
	
	/**
	 * <p>Procédure getAccessoires<br />
	 * Recupere les accessoires d'un produit commander</p>
	 * @param pIdProduitCMD : id d'un produit commander
	 * @throws DAOException
	 * @return Map<String, Accessoire>
	 */
	public Map<String, Accessoire> getAccessoires(int pIdProduitCMD) throws DAOException;

	/**
	 * <p>Procédure addAccessoire<br />
	 * Insere un accessoire dans la table AccessoireCMD</p>
	 * @param pAccessoire : un objet accessoire
	 * @throws DAOException
	 */
	public void addAccessoire(Accessoire pAccessoire) throws DAOException;
	
	/**
	 * <p>Procédure addAccessoires<br />
	 * Lie les accessoires au produit passé en paramètre</p>
	 * @param pProduitCMD : un produit commander
	 * @throws DAOException
	 */
	public void addAccessoires(ProduitCMD pProduitCMD) throws DAOException;

	/**
	 * <p>Procédure delAccessoire<br />
	 * Supprime l'accessoire passé en paramètre d'un produit commander</p>
	 * @param pRefAccessoire : la référence d'un accessoire
	 * @param pIdProduitCMD : id d'un produit commander
	 * @throws DAOException
	 */
	public void delAccessoire(String pRefAccessoire, int pIdProduitCMD) throws DAOException;
	
	/**
	 * <p>Procédure delAccessoires<br />
	 * Supprime tous les accessoires d'un produit commander</p>
	 * @param pIdProduitCMD : id d'un produit commander
	 * @throws DAOException
	 */
	public void delAccessoires(int pIdProduitCMD) throws DAOException;
}
